Skip to content

2026 cloudslam updates#14

Closed
JohnN193 wants to merge 16 commits intomainfrom
2026-cloudslam-updates
Closed

2026 cloudslam updates#14
JohnN193 wants to merge 16 commits intomainfrom
2026-cloudslam-updates

Conversation

@JohnN193
Copy link
Collaborator

No description provided.

JohnN193 and others added 16 commits March 20, 2026 03:47
- Update go.viam.com/rdk v0.61.0 → v0.117.0
- Update go.viam.com/api v0.1.387 → v0.1.527
- Update go.viam.com/utils v0.1.128 → v0.4.13
- Switch golangci-lint from go.mod dependency to go run @v1.62.2 (matches rdk pattern)
- Fix pointcloud.ReadPCD call in thumbnail.go (new signature requires second arg)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
machine_id and part_id are now optional in config — if not set, they fall
back to VIAM_MACHINE_ID and VIAM_MACHINE_PART_ID env vars injected by the
Viam agent. machine_id is still required (either via config or env).

Also fixes Config.Validate signature to match updated rdk interface
(now returns required deps, optional deps, error).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Before starting a cloudslam session, check that each configured sensor
has an appropriate data capture method enabled in the machine part's
config. Cameras require NextPointCloud; movement sensors require any
enabled capture method.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
After stopping a mapping session, fetch the session metadata and return
an error with the failure message if the session ended with END_STATUS_FAIL.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
While a job is active but no map has been received yet, PointCloudMap
returns a PCD point arc instead of the blank default. The arc grows from
a small sliver to a full circle over 5 minutes, giving the user visual
feedback that the session is running.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- merge activeJob + jobStartTime into activeJobState struct; nil pointer
  replaces empty-string sentinel, and startedAt replaces the separate
  jobStartTime atomic so both fields are updated atomically
- wrap updatingMapName/updatingMapVersion into updatingMapInfo struct; nil
  replaces the != "" guard and fixes a latent bug where version could be
  set with an empty name
- clear activeJob in StopJob (stops polling) while keeping lastPointCloudURL
  so the final map stays visible after a session ends
- store logger on AppClient at construction; drop logger param from
  CheckSensorsDataCapture

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
part_id is now required (from config or env var), matching the existing
machine_id behavior. removes the dead partID != "" guard in initialize.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
machine_id and machine_part_id are now auto-populated from viam-server
env vars, so they no longer need to appear in the example config.
Update attribute table to reflect optional status and defaults.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
v1.62.2 was built with Go 1.23 and rejects Go 1.25.1 targets.
v1.64.8 is built with Go 1.26.1 and handles it correctly.

Also remove two deprecated config options:
- run.skip-dirs-use-default (already covered by issues.exclude-use-default)
- linters-settings.gofumpt.lang-version (moved to global run.go)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- set GOTOOLCHAIN=go$(GOVERSION) so golangci-lint is built with the Go
  version declared in go.mod, not whatever the CI host has installed
- replace deprecated slam.FromDependencies with slam.FromProvider
- replace deprecated res.GetFileId() with res.GetBinaryDataId()
- apply linter auto-fixes: proto getter style, range-over-int loop

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
adds a 5×7 dot-matrix font renderer (pcdtext.go) and draws
"WAITING FOR / SESSION TO START" centered inside the progress ring,
making it unambiguous to the viewer that this is not a real map.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Add lastSessionErr atomic to track failed sessions; polling thread
  checks metadata every cycle and sets it on END_STATUS_FAIL
- PointCloudMap returns a "SESSION FAILED" PCD when lastSessionErr is
  set, covering both pre-map and post-map failure cases
- Add D and L glyphs to font5x7 for "FAILED" text rendering
- Add SLAMMapURL helper on AppClient to deduplicate URL construction;
  fixes save-local-map missing page=slam (causing redirect to /fleet)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
BinaryDataId is "org_id/location_id/file_id" but the frontend builds
the thumbnail URL as /files/{org}/{location}/{file_id}, so passing the
full composite value doubled the path segments. Extract just the
trailing file_id segment instead.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@JohnN193
Copy link
Collaborator Author

Splitting into 4 smaller PRs for easier review: #15#16#17#18

@JohnN193 JohnN193 closed this Mar 20, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant